package com.proyecto.core.vista.beans;

import java.util.ArrayList;
import java.util.ResourceBundle;
import com.proyecto.core.modelo.excepciones.GeneralException;
import com.proyecto.core.modelo.servicio.interfaces.IServicioSeguridad;
import com.proyecto.core.vista.echo.componentes.WPTransaccionMultiple;
import com.proyecto.core.vista.echo.localizador.ServiceLocator;

public class Expediente {

	public ArrayList<TransaccionBean> lstTransaccion = new ArrayList<TransaccionBean>();
	public WPTransaccionMultiple wpModulo;
	public ResourceBundle mensajeError;
	public ServiceLocator serviceLocator;
	public ResourceBundle resourceBundle;
	public String usuarioCod = "";
	public ArrayList<Integer> AIMEC = new ArrayList<Integer>();
	public IServicioSeguridad servicioSeguridad;
	public ArrayList<String> seccionesSeg = new ArrayList<String>();
	public ArrayList<String> listaOpcionesUsuario = new ArrayList<String>();
	
	
	
	public Expediente() throws GeneralException {
		inicializar();
		servicioSeguridad = (IServicioSeguridad) serviceLocator.getBean("ServicioSegOperacionesUsuarios");
		seccionesSeg = seccionesExpediente();
		listaOpcionesUsuario = servicioSeguridad.obtenerSeccionesPorUsuario(usuarioCod, seccionesSeg);
//		if(!this.puedeMostrarSeccionEnExpediente(seccionesSeg.get(0))){
//			throw new GeneralException("Principal.Error.Permisologia.Titulo");
//		}
	}

	public WPTransaccionMultiple getWPModulo() {
		return wpModulo;
	}


	public boolean puedeMostrarSeccionEnExpediente(String seccion){
		AIMEC = servicioSeguridad.buscarOpcion(usuarioCod, seccion, listaOpcionesUsuario);
		if(AIMEC!=null && AIMEC.size()>0){
			if(servicioSeguridad.esAutorizado(usuarioCod, AIMEC)){
				return true;
			}else{
				return false;
			}
		}
		return false;
	}
	
	public void inicializar(){
	}
	
	
	public ArrayList<String> seccionesExpediente(){
		return new ArrayList<String>();
	}
	
	
}
